Libraries required

In [2]:
from __future__ import print_function, division

%matplotlib inline

import thinkdsp
import thinkplot

import warnings
warnings.filterwarnings('ignore')

from IPython.html.widgets import interact, fixed
from IPython.display import display
import matplotlib.pyplot as plt
#import librosa

Taking audio in wav format as input

In [3]:
#wave, sr = librosa.load('170255__dublie__trumpet.wav')
wave = thinkdsp.read_wave('170255__dublie__trumpet.wav')
wave.normalize()
wave.make_audio()
Out[3]:
In [9]:
wave2=wave
wave3=wave

for ploting the data

In [4]:
wave.plot()

perform stretching operation on audio signal

In [5]:
def stretch(wave, factor):
    wave.ts *= factor
    wave.framerate /= factor
In [7]:
stretch(wave, 0.5)
wave.make_audio()
Out[7]:

Displaying result

In [8]:
wave.plot()
In [10]:
stretch(wave2, 1.5)
wave2.make_audio()
Out[10]:
In [11]:
wave2.plot()
In [14]:
stretch(wave3, 3.5)
wave3.make_audio()
Out[14]:
In [15]:
wave3.plot()